import Mock from 'mockjs';

// 模拟生成一个日志条目
const generateLogEntry = () => ({
    'id': '@id', // 随机生成一个 ID
    'terminalId': '@word(5, 10)', // 随机生成一个终端ID
    'terminalName': 'system', // 固定值 "system"
    'terminalStatus': '@pick([1, 0])', // 随机选择 1 或 0，代表在线或离线
    'terminalType': '@pick(["PC", "APP", "PWA", "H5"])', // 随机选择终端类型
    'boundUser': {
        'username': '色兔赛跑',
        'id': '@integer(100000, 999999)', // 随机生成一个用户ID
    },
    'lastLoginTime': '@datetime', // 随机生成最近登录时间
    'operator': 'admin', // 固定操作人
    'operationTime': '@datetime', // 随机生成操作时间
});

// 模拟生成多个日志条目
const generateMockData = (count: number) => {
    const data = [];
    for (let i = 0; i < count; i++) {
        data.push(generateLogEntry());
    }
    return data;
};

// 接口返回数据
export default [
    {
        url: '/api/v1/terminal/list',
        method: 'get',
        response: ({ query }: any) => {
            const mockData = generateMockData(Number(query.pageSize) || 10);
            return {
                code: 200,
                message: '操作成功',
                data: {
                    list: mockData,
                    total: 100, // 数据总数
                },
            };
        },
    },
];